/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package clases;

import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionMapping;

/**
 *
 * @author andreth
 */
public class Vocacional extends Root {
    
    private String cedula;
    private ArrayList<Pregunta> preguntas;
    private int notaAcumulada;
    
    public Vocacional() {
        System.out.println("Vocacional creado");
        preguntas = new ArrayList<Pregunta>();
        this.preguntas = new ArrayList<Pregunta>();
    }
    
    /**
     * Metodo que agrega una pregunta al test vocacional
     * 
     * @param p Pregunta a agregar
     */
    public void agregarPregunta(Pregunta p){
      this.preguntas.add(p);
    }

    public int getNotaAcumulada() {
        return notaAcumulada;
    }

    public void setNotaAcumulada(int notaAcumulada) {
        this.notaAcumulada = notaAcumulada;
    }

    public String getCedula() {
        return cedula;
    }

    public void setCedula(String cedula) {
        this.cedula = cedula;
    }

    public ArrayList<Pregunta> getPreguntas() {
        System.out.println("getPreguntas en Vocacional");
        System.out.println(preguntas);
        return preguntas;
    }

    public void setPreguntas(ArrayList<Pregunta> preguntas) {
        System.out.println("setPreguntas en Vocacional");
        this.preguntas = preguntas;
    }

//    @Override
//    public void reset(ActionMapping arg0, HttpServletRequest request) {
////        this.preguntas = new ArrayList<Pregunta>();
//        Vocacional v = (request.getSession().getAttribute("Vocacional") != null?
//                (Vocacional)request.getSession().getAttribute("Vocacional") : null);
//        if(v != null){
//            this.preguntas = v.getPreguntas();
//        }
//    }

    public  Pregunta getPreguntas(int index) {
        System.out.println("Aumentando tamanio de preguntas");
        while (index >= preguntas.size()) {
            preguntas.add(new Pregunta());
        }
        return (Pregunta) preguntas.get(index);
    }
    
    public void setPreguntas(int index, Pregunta p){
        System.out.println("Setting pregunta");
        this.preguntas.set(index, p);
    }

    public boolean valido() {
        for (Pregunta pregunta : preguntas) {
            int respuestas = 0;
            for(Opcion o: pregunta.getOpciones()){
                if(o.getCorrecta()){
                    respuestas++;
                }
            }
            System.out.println("fuck " + respuestas + "fuck" +pregunta.getNumRespuestas() );
            if (respuestas != pregunta.getNumRespuestas()) {
                System.out.println("hua");
                return false;
            }
        }
        return true;
    }

    @Override
    public String toString() {
        return "Vocacional{cedula=" + cedula + ", preguntas=" + preguntas + '}';
    }
    
}
